package com.yxw.live_vod_boot.entity;



import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
//import lombok.EqualsAndHashCode;



    /*** 
    *@author 黄家旭
    *@date 2023/11/24 10:25:35
    *@update 2023/11/24 10:25:35
    **/
@Data
@NoArgsConstructor
@TableName("yx_live_app")
//@EqualsAndHashCode(callSuper = true)
public class YxLiveAppEntity   implements Serializable
{
    private static final long serialVersionUID = 9170079273572L;
    /**
    *
    */
    @TableId(value = "app_id",type = IdType.AUTO)
    @ApiModelProperty(value = "")
    private Integer Id;
    /**
    *
    */
    @TableField("app_name")
    @NotBlank(message = "不可为空")
    @ApiModelProperty(value = "")
    private String appName;
    /**
    *转码流后缀,支持输入大小写字母、数字和短线(-)，不超过10个字符
    */
    @TableField("trans_coding_suffix")
    @NotBlank(message = "转码流后缀,支持输入大小写字母、数字和短线(-)，不超过10个字符不可为空")
    @ApiModelProperty(value = "转码流后缀,支持输入大小写字母、数字和短线(-)，不超过10个字符")
    private String transCodingSuffix;
    /**
    *编码方式:h264,h265
    */
    @TableField("coding")
    @NotBlank(message = "编码方式:h264,h265不可为空")
    @ApiModelProperty(value = "编码方式:h264,h265")
    private String coding;
    /**
    *转码类型:0标准转码,1极智超清转码(极智超清转码将提供更好画质、更低码率，减少带宽占用)
    */
    @TableField("trans_coding_type")
    @NotNull(message = "转码类型:0标准转码,1极智超清转码(极智超清转码将提供更好画质、更低码率，减少带宽占用)不可为空")
    @ApiModelProperty(value = "转码类型:0标准转码,1极智超清转码(极智超清转码将提供更好画质、更低码率，减少带宽占用)")
    private Integer transCodingType;
    /**
    *参数类型:0跟随原始视频参数(之后的参数都不用设定),1自定义
    */
    @TableField("para_type")
    @ApiModelProperty(value = "参数类型:0跟随原始视频参数(之后的参数都不用设定),1自定义")
    private Integer paraType;
    /**
    *分辨率适配类型:0短边自适应,1长边自适应,2固定宽度,3固定高度
    */
    @TableField("resolution_adaptation_type")
    @ApiModelProperty(value = "分辨率适配类型:0短边自适应,1长边自适应,2固定宽度,3固定高度")
    private Integer resolutionAdaptationType;
    /**
    *分辨率:150-1920px,:0代表复制源流,当分辨率适配类型为0短边自适应,推荐参数:(超清:1080,高清:720,标清:540,流畅360)
    */
    @TableField("resolution")
    @ApiModelProperty(value = "分辨率:150-1920px,:0代表复制源流,当分辨率适配类型为0短边自适应,推荐参数:(超清:1080,高清:720,标清:540,流畅360)")
    private Integer resolution;
    /**
    *码率,支持设置范围：0-30000kbps，0代表复制源流,推荐参数(超清:2000,高清:1638,标清:1024,流畅500)
    */
    @TableField("bitrate")
    @ApiModelProperty(value = "码率,支持设置范围：0-30000kbps，0代表复制源流,推荐参数(超清:2000,高清:1638,标清:1024,流畅500)")
    private Integer bitrate;
    /**
    *帧率:0代表复制源流,推荐参数(超清:30,高清:25,标清:25,流畅20)
    */
    @TableField("frame_rate")
    @ApiModelProperty(value = "帧率:0代表复制源流,推荐参数(超清:30,高清:25,标清:25,流畅20)")
    private Integer frameRate;
    /**
    *GOP(秒)支持设置范围：1-20,默认4
    */
    @TableField("gop")
    @ApiModelProperty(value = "GOP(秒)支持设置范围：1-20,默认4")
    private Integer gop;
    /**
    *B帧(帧间隔),支持设置范围：0-7,播放RTM时填0,默认3
    */
    @TableField("b_frame")
    @ApiModelProperty(value = "B帧(帧间隔),支持设置范围：0-7,播放RTM时填0,默认3")
    private Integer bFrame;
    /**
    *音频选项,默认AAC，Web播放RTM时需选择Opus,取值(AAC,Opus,copy)
    */
    @TableField("audio_options")
    @ApiModelProperty(value = "音频选项,默认AAC，Web播放RTM时需选择Opus,取值(AAC,Opus,copy)")
    private String audioOptions;
    /**
    *创建时间
    */
    @TableField("create_time")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
    /**
    *最后修改时间
    */
    @TableField("update_time")
    @ApiModelProperty(value = "最后修改时间")
    private java.util.Date updateTime;
    /**
    *是否更新到火山服务器(0没有，1已跟新),更新关键参数时需要将本参数置为0，并更新update_time参数
    */
    @TableField("update_to_service")
    @ApiModelProperty(value = "是否更新到火山服务器(0没有，1已跟新),更新关键参数时需要将本参数置为0，并更新update_time参数")
    private Integer updateToService;
    /**
    *更新到火山服务器的时间
    */
    @TableField("update_to_service_time")
    @ApiModelProperty(value = "更新到火山服务器的时间")
    private java.util.Date updateToServiceTime;
}

